package com.fgxia.user.service;

import com.fgxia.user.domain.bo.UserOrderInfoBo;
import com.fgxia.user.domain.vo.DateNodeVo;
import com.fgxia.user.domain.vo.FrightDetailVo;
import com.ruoyi.business.domain.OrderInfo;
import com.ruoyi.business.domain.vo.OrderInfoVo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.List;

/**
 * 订单信息Service接口
 *
 * @author yyt
 * @date 2024-04-20
 */
public interface IOrderInfoService {

    /**
     * 查询订单信息
     */
    OrderInfoVo queryById(Long orderId);

    /**
     * 查询订单信息列表
     */
    TableDataInfo<OrderInfoVo> selectVoList(Long userId, List<String> orderStatus, PageQuery pageQuery);

    /**
     * 新增订单信息
     */
    Boolean insertByBo(UserOrderInfoBo bo);

    /**
     * 修改订单信息
     */
    Boolean updateByBo(UserOrderInfoBo bo);

    List<DateNodeVo> generateTimeSlot(int daysAhead);

    List<FrightDetailVo> selectDetailById(Long userId, Long orderId);
}
